Ansible ইনভেন্টরি ফাইল হলো এমন একটি ফাইল যেখানে ম্যানেজ করা হোস্ট (সার্ভার) এবং তাদের গ্রুপিং সংক্রান্ত তথ্য রাখা হয়। Ansible এই ইনভেন্টরি ফাইলের মাধ্যমে নির্ধারণ করে কোন হোস্টে কমান্ড বা প্লেবুক কার্যকর হবে। এটি ম্যানুয়াল প্রক্রিয়ার তুলনায় অটোমেশন এবং অর্গানাইজেশনের একটি সহজ উপায়। ইনভেন্টরি ফাইলের মধ্যে হোস্ট, গ্রুপ এবং ভ্যারিয়েবল সংরক্ষিত থাকে।
webservers
, dbservers
ইত্যাদি গ্রুপ হতে পারে।ansible_user
, ansible_port
, ansible_ssh_private_key_file
ইত্যাদি।INI ফরম্যাট সহজ এবং সরাসরি; এটি কিছুটা নিচের মতো হতে পারে:
[webservers]
web1.example.com
web2.example.com
[dbservers]
db1.example.com
db2.example.com
[all:vars]
ansible_user=ubuntu
ansible_ssh_private_key_file=~/.ssh/id_rsa
ব্যাখ্যা:
[webservers]
এবং [dbservers]
হলো গ্রুপ, যেখানে সংশ্লিষ্ট হোস্টের নাম বা আইপি উল্লেখ করা হয়েছে।[all:vars]
হলো গ্লোবাল ভ্যারিয়েবল সেকশন, যা ইনভেন্টরি ফাইলের সব হোস্টের জন্য সাধারণভাবে প্রযোজ্য হবে।YAML ফরম্যাট আরও স্ট্রাকচারড এবং উন্নত:
all:
hosts:
web1.example.com:
web2.example.com:
db1.example.com:
db2.example.com:
children:
webservers:
hosts:
web1.example.com:
web2.example.com:
dbservers:
hosts:
db1.example.com:
db2.example.com:
vars:
ansible_user: ubuntu
ansible_ssh_private_key_file: ~/.ssh/id_rsa
ব্যাখ্যা:
all:
সেকশনে সমস্ত হোস্ট এবং গ্রুপ ডিফাইন করা হয়েছে।children:
অংশে গ্রুপগুলো এবং তাদের মধ্যে হোস্টগুলো লিস্ট করা হয়েছে।vars:
অংশে গ্লোবাল ভ্যারিয়েবলস উল্লেখ করা হয়েছে যা ইনভেন্টরির সব হোস্টের জন্য প্রযোজ্য।কাস্টম ইনভেন্টরি ফাইল ব্যবহার করতে ansible
বা ansible-playbook
কমান্ডের সাথে -i
ফ্ল্যাগ ব্যবহার করা হয়:
ansible-playbook -i inventory_file.yml playbook.yml
এভাবে Ansible-এর ইনভেন্টরি ফাইল ব্যবহারের মাধ্যমে আপনার ইনফ্রাস্ট্রাকচারকে গ্রুপভিত্তিক ভাবে ম্যানেজ ও কনফিগার করতে পারবেন।
আরও দেখুন...